#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <errno.h>

typedef struct DoubleNode
{
	int data;
	struct DoubleNode* pre;
	struct DoubleNode* next;
}DoubleNode;

typedef DoubleNode* ptr;

ptr tail = NULL;

void printList(ptr dh);

ptr initList();

void insertAtIndex(ptr dh, int index, int val);

void headInsert(ptr dh, int val);

void tailInsert(ptr dh, int val);

void delAtIndex(ptr dh, int index);

void headDel(ptr dh);

void tailDel(ptr dh);

void delSpecifiedNodeVal(ptr dh, int val);
